Expand description
Generic 2D-3D math swiss army knife for game engines, with SIMD support and focus on convenience.
See the wiki for an overview, FAQ, guides, and other info.
Issues and bug reports are very welcome!
Cargo features
vec8
,vec16
,vec32
,vec64
,rgba
,rgb
,uvw
,uv
Enable these types. Other types are always enabled for the sake of doc-tests.repr_simd
enables Nightly Rust’srepr_simd
andsimd_ffi
features, and unlock SIMD versions of all appropriate types (thoughrepr_simd
modules). On Stable, this feature has no effect.serde
makes vectors and matrices deriveSerialize
andDeserialize
.image
makes color vectors implement thePixel
trait from theimage
crate.mint
enables conversion to themint
crate’s types.mint
is an interoperability layer for math libraries.
#![no_std]
This crate is #![no_std]
.
Re-exports
pub extern crate approx;
pub extern crate num_integer;
pub extern crate num_traits;
pub extern crate serde;
pub use crate::ops::*;
pub use crate::vec::*;
pub use crate::mat::*;
pub use crate::quaternion::*;
pub use crate::transition::*;
pub use crate::transform::*;
pub use crate::bezier::*;
pub use crate::geom::*;
pub use crate::simd_traits::*;
Modules
Low-order (quadratic and cubic) Bézier curves.
Common and trivial geometric primitives.
Matrix types.
Operations defined by this crate, such as
MulAdd
, Lerp
, Clamp
, and Wrap
.Quaternions are a convenient representation for rotations in 3D spaces.
SIMD traits; they are useful when the features “repr_simd” and “platform_intrinsics” are enabled.
A convenient position + orientation + scale container, backed by two
Vec3
and a Quaternion.
Convenience structures for representing a transition from one value to another.
Vector types.